home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
AMIGA
/
AMICUS
/
AMICUS05.ADF
/
IFF
/
giocall.c2
< prev
next >
Wrap
Text File
|
1986-04-20
|
2KB
|
44 lines
/*--------------------------------------------------------------*/
/* GIOCall.c: An example of calling the Generic I/O Speed-up. */
/* 1/23/86 */
/* */
/* By Jerry Morrison and Steve Shaw, Electronic Arts. */
/* This software is in the public domain. */
/* */
/* This version for the Commodore-Amiga computer. */
/* */
/*--------------------------------------------------------------*/
main(...) {
LONG file;
int success;
...
success = (0 != (file = GOpen(...)));
/* A TmpRas is a good buffer to use for a variety of short-term uses.*/
if (success)
success = PutObject(file, ob, tmpRas.RasPtr, tmpRas.Size);
success &= (0 <= GClose(file));
}
/*----- PutObject writes a DVCS object out as a disk file.-----*/
BOOL PutObject(file, ob, buffer, bufsize)
LONG file; struct Object *ob; BYTE *buffer; LONG bufsize; {
int success = TRUE;
if (bufsize > 2*BODY_BUFSIZE) {
/* Give buffer to speed-up writing.*/
GWriteDeclare(file, buffer+BODY_BUFSIZE, bufsize-BODY_BUFSIZE);
bufsize = BODY_BUFSIZE; /* Used by PutObject for other purposes.*/
}
...
/* Use GWrite and GSeek instead of Write and Seek.*/
success &= (0 <= GWrite(file, address, length));
...
success &= (0 <= GWriteUndeclare(file));
/* Release the speed-up buffer.*/
/* This is not necessary if GClose is used to close the file,
* but it can't hurt.*/
return( (BOOL)success );
}